home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-06-25 | 5.2 KB | 189 lines | [TEXT/PJMM] |
- unit ImpHostFile;
-
- { Created June 15, 1989. }
-
- interface
-
- uses
- Globals, HelloTabby;
-
- var
- CLPath, ULPath, MESSAGESPath, SysopName: STR255;
- NextLaunchDateRec: DateTimeRec;
- MsgPath: STR255;
- LowMsg, HiMsg, MSGTXTLength: longint;
- SectionCount, ErrorCode: integer;
-
- procedure ReadConfig;
-
- procedure MakeTextFile (FileName: STR255);
-
- procedure FrameDItem (dLog: DialogPtr; iNum: integer);
-
- implementation
-
- {----------------------------------------------------------------- }
-
- procedure FrameDItem;
-
- var
- iBox: Rect;
- iType: integer;
- iHandle: Handle;
- oldPenState: PenState;
-
- begin
- GetPenState(oldPenState);
- GetDItem(dLog, iNum, iType, iHandle, iBox);
- InsetRect(iBox, -4, -4);
- PenSize(3, 3);
- FrameRoundRect(iBox, 16, 16);
- SetPenState(oldPenState)
- end;
-
- {----------------------------------------------------------------- }
-
- procedure MakeTextFile;
-
- { Procedure sets up QUED-compatible text file }
-
- var
- fndrInfo: FInfo;
-
- begin
- Err := GetFInfo(FileName, vRefNum, fndrInfo);
- if Err = noErr then
- begin
- fndrInfo.fdType := 'TEXT';
- fndrInfo.fdCreator := CreatorType;
- Err := SetFInfo(FileName, vRefNum, fndrInfo);
- end
- else
- Err := Create(FileName, vRefNum, CreatorType, 'TEXT');
- end;
-
- { ------------------------------------------------------ }
-
- procedure ReadConfig;
-
- { Reads Config file and returns Path:CallerLog, Path:UserLog, Path:MESSAGES, SysopName (all caps) and }
- { NextLaunchDateRec. }
-
- var
- AString: string;
- ALongInt: LongInt;
- ConfigRefNum: integer;
- FileEnd, CharsToSend, NextLaunchTime: longint;
- ConfigErr: OSErr;
- VolName: STR255;
- ConfigErrorFlag: boolean;
-
- begin
-
- ConfigErrorFlag := false;
-
- ConfigErr := GetVol(@VolName, VRefNum); { Get volume ref # for default volume }
- if (ConfigErr <> NoErr) then
- ConfigErrorFlag := true;
- MESSAGESPath := '';
- ULPath := '';
- CLPath := '';
- SysopName := 'SYSTEM OPERATOR';
- ErrorCode := 500;
- ConfigErr := FSOpen(concat(gDefaultpath, 'Config'), VRefNum, ConfigRefNum);
- if (ConfigErr = NoErr) then
- begin
- ErrorCode := 501;
- if (ConfigErr = NoErr) then
- begin
- ConfigErr := GetEOF(ConfigRefNum, FileEnd);
- ErrorCode := 502;
- if (ConfigErr = NoErr) then
- begin
- if (FileEnd > 317) then { Is file longer than our deepest SetFPos (it should be 349)? }
- begin
- ErrorCode := 503;
- CharsToSend := 41;
- ConfigErr := SetFPos(ConfigRefNum, fsFromStart, 57);
- if (ConfigErr <> NoErr) then
- ConfigErrorFlag := true;
- ConfigErr := FSRead(ConfigRefNum, CharsToSend, @AString);
- if (ConfigErr <> NoErr) then
- ConfigErrorFlag := true;
- if length(AString) > 0 then
- ULPath := AString;
- ULPath := concat(ULPath, ':UserLog');
-
- if (ConfigErrorFlag = false) then
- begin
- ErrorCode := 504;
- CharsToSend := 41;
- ConfigErr := SetFPos(ConfigRefNum, fsFromStart, 98);
- if (ConfigErr <> NoErr) then
- ConfigErrorFlag := true;
- ConfigErr := FSRead(ConfigRefNum, CharsToSend, @AString);
- if (ConfigErr <> NoErr) then
- ConfigErrorFlag := true;
- if length(AString) > 0 then
- CLPath := AString;
- CLPath := concat(CLPath, ':CallerLog');
- end;
-
- if (ConfigErrorFlag = false) then
- begin
- ErrorCode := 505;
- CharsToSend := 80;
- ConfigErr := SetFPos(ConfigRefNum, fsFromStart, 139);
- if (ConfigErr <> NoErr) then
- ConfigErrorFlag := true;
- ConfigErr := FSRead(ConfigRefNum, CharsToSend, @AString);
- if (ConfigErr <> NoErr) then
- ConfigErrorFlag := true;
- if length(AString) > 0 then
- MESSAGESPath := AString;
- MESSAGESPath := concat(MESSAGESPath, ':MESSAGES');
- end;
-
- if (ConfigErrorFlag = false) then
- begin
- ErrorCode := 506;
- CharsToSend := 31;
- ConfigErr := SetFPos(ConfigRefNum, fsFromStart, 317);
- if (ConfigErr <> NoErr) then
- ConfigErrorFlag := true;
- ConfigErr := FSRead(ConfigRefNum, CharsToSend, @AString);
- if (ConfigErr <> NoErr) then
- ConfigErrorFlag := true;
- if length(AString) > 0 then
- SysopName := AString
- end;
-
- if (ConfigErrorFlag = false) then
- begin
- ErrorCode := 507;
- CharsToSend := 4;
- ConfigErr := SetFPos(ConfigRefNum, fsFromStart, 308);
- if (ConfigErr <> NoErr) then
- ConfigErrorFlag := true;
- ConfigErr := FSRead(ConfigRefNum, CharsToSend, @ALongInt);
- if (ConfigErr <> NoErr) then
- ConfigErrorFlag := true;
- Secs2Date(ALongInt, NextLaunchDateRec);
- end;
-
- end
- end { if FileEnd > 317 }
- else
- ConfigErrorFlag := true;
- end { Error on get eof of Config }
- else
- ConfigErrorFlag := true;
- end { Error on open Config }
- else
- ConfigErrorFlag := true;
- if ConfigErrorFlag then
- Err := ConfigErr;
- ConfigErr := FSClose(ConfigRefNum);
- end;
- { ------------------------------------------------------ }
- end. { Unit }